home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / djgpp / src / gas-211 / gas / tc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-30  |  3.3 KB  |  103 lines

  1. /* tc.h - target cpu dependent
  2.  
  3.    Copyright (C) 1987, 1990, 1991, 1992 Free Software Foundation, Inc.
  4.  
  5.    This file is part of GAS, the GNU Assembler.
  6.  
  7.    GAS is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 2, or (at your option)
  10.    any later version.
  11.  
  12.    GAS is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with GAS; see the file COPYING.  If not, write to
  19.    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. /* In theory (mine, at least!) the machine dependent part of the assembler
  22.    should only have to include one file.  This one.  -- JF */
  23.  
  24. extern const pseudo_typeS md_pseudo_table[];
  25.  
  26. /* JF moved this here from as.h under the theory that nobody except MACHINE.c
  27.    and write.c care about it anyway. */
  28.  
  29. struct relax_type
  30. {
  31.   /* Forward reach. Signed number. > 0. */
  32.   long rlx_forward;
  33.   /* Backward reach. Signed number. < 0. */
  34.   long rlx_backward;
  35.  
  36.   /* Bytes length of this address. */
  37.   unsigned char rlx_length;
  38.  
  39.   /* Next longer relax-state.  0 means there is no 'next' relax-state. */
  40.   relax_substateT rlx_more;
  41. };
  42.  
  43. typedef struct relax_type relax_typeS;
  44.  
  45. extern const relax_typeS md_relax_table[];    /* Define it in MACHINE.c */
  46.  
  47. extern int md_reloc_size;    /* Size of a relocation record */
  48.  
  49. extern void (*md_emit_relocations) ();
  50.  
  51. char *md_atof PARAMS ((int what_statement_type, char *literalP, int *sizeP));
  52. int md_estimate_size_before_relax PARAMS ((fragS * fragP, segT segment));
  53. int md_parse_option PARAMS ((char **argP, int *cntP, char ***vecP));
  54. long md_pcrel_from PARAMS ((fixS * fixP));
  55. short tc_coff_fix2rtype PARAMS ((fixS * fixP));
  56. void md_assemble PARAMS ((char *str));
  57. void md_begin PARAMS ((void));
  58. void md_create_long_jump PARAMS ((char *ptr, long from_addr, long to_addr,
  59.                   fragS * frag, symbolS * to_symbol));
  60. void md_create_short_jump PARAMS ((char *ptr, long from_addr, long to_addr,
  61.                    fragS * frag, symbolS * to_symbol));
  62. void md_end PARAMS ((void));
  63. void md_number_to_chars PARAMS ((char *buf, long val, int n));
  64.  
  65. #ifndef md_operand
  66. void md_operand PARAMS ((expressionS * expressionP));
  67. #endif
  68.  
  69. #ifdef BFD_ASSEMBLER
  70. int md_apply_fix PARAMS ((fixS * fixP, long *val));
  71. #ifndef md_convert_frag
  72. void md_convert_frag PARAMS ((bfd * headers, segT sec, fragS * fragP));
  73. #endif
  74. #ifndef tc_headers_hook
  75. void tc_headers_hook PARAMS ((segT *, fixS *));
  76. #endif
  77. #else
  78. void md_apply_fix PARAMS ((fixS * fixP, long val));
  79. #ifndef md_convert_frag
  80. void md_convert_frag PARAMS ((object_headers * headers, fragS * fragP));
  81. #endif
  82.  
  83. #ifndef tc_crawl_symbol_chain
  84. void tc_crawl_symbol_chain PARAMS ((object_headers * headers));
  85. #endif /* tc_crawl_symbol_chain */
  86.  
  87. #ifndef tc_headers_hook
  88. void tc_headers_hook PARAMS ((object_headers * headers));
  89. #endif /* tc_headers_hook */
  90. #endif /* BFD_ASSEMBLER */
  91.  
  92. #ifndef md_section_align
  93. long md_section_align PARAMS ((segT seg, long align));
  94. #endif
  95.  
  96. #ifndef md_undefined_symbol
  97. symbolS *md_undefined_symbol PARAMS ((char *name));
  98. #endif
  99.  
  100. /* end of tc.h */
  101.  
  102.  
  103.